using System;
using System.Collections.Generic;
using System.Text;

namespace Sio.Mdm.Utils
{
    /// <summary>
    /// Defines interface for logger writers
    /// </summary>
    public interface ILoggerWriter
    {
        /// <summary>
        /// Called when message should be written
        /// </summary>
        /// <param name="type">Type of message to be written</param>
        /// <param name="message">Message to be written</param>
        /// <param name="timeStamp">Time whne message has arrived to queue</param>        
        /// <remarks>
        /// Call will be made only for messages that are enabled by filter. So if
        /// debug types of messages are not enabled call will not be made.
        /// </remarks>
        void WriteMessage(Sio.Mdm.Utils.Logger.MessageType type, DateTime timeStamp, string message);
    }
}
